//
// Created by Felix on 24-4-26.
//

#ifndef GAZE_AUTHRESPONSEDTO_HPP
#define GAZE_AUTHRESPONSEDTO_HPP

#include "oatpp/core/macro/codegen.hpp"
#include "oatpp/core/Types.hpp"

#include OATPP_CODEGEN_BEGIN(DTO)

class AuthResponseDto : public oatpp::DTO {

    DTO_INIT(AuthResponseDto, DTO)

    DTO_FIELD_INFO(userId) {
        info->description = "user_id";
        info->required = true;
    } // UserId
    DTO_FIELD(Int32, userId, "user_id");

    DTO_FIELD_INFO(token) {
        info->description = "令牌";
        info->required = true;
    } // Token
    DTO_FIELD(String, token);

    DTO_FIELD_INFO(resourceToken) {
        info->description = "资源令牌";
        info->required = true;
    } // Resource token
    DTO_FIELD(String, resourceToken, "resource_token");

    DTO_FIELD_INFO(refreshToken) {
        info->description = "刷新令牌";
        info->required = true;
    } // Refresh token
    DTO_FIELD(String, refreshToken, "refresh_token");

    DTO_FIELD_INFO(createTime) {
        info->description = "创建时间";
        info->required = true;
    } // Create time
    DTO_FIELD(Int64, createTime, "create_time");

    DTO_FIELD_INFO(updateTime) {
        info->description = "更新时间";
        info->required = true;
    } // Update time
    DTO_FIELD(Int64, updateTime, "update_time");

    DTO_FIELD_INFO(deleteTime) {
        info->description = "删除时间";
        info->required = true;
    } // Delete time
    DTO_FIELD(Int64, deleteTime, "delete_time");
};

#include OATPP_CODEGEN_END(DTO)

#endif //GAZE_AUTHRESPONSEDTO_HPP
